ESCRITURA DIRECTA (Write Through)
Cuando se produce un acierto de escritura (es decir cuando el dato que queremos modificar está en la cache), se actualiza el dato tanto en la memoria cache como en la memoria de nivel inferior. En los fallos de lectura, independientemente de que el bloque de cache a sustituir haya sido modificado o no siempre se sobreescribe, porque existe coherencia.
La principal ventaja de esta política es que no existe inconsistencia nunca, esto tiene como efecto que los fallos de lectura sean más rápidas porque no necesitan escribir en el nivel inferior. Es más sencilla de diseñar y de manejar. Su principal desventaja es que no produce buenos rendimientos de escritura puesto que tiene que estar realizando constantemente accesos a la memoria principal.
Una solución a este problema consiste en añadir un buffer de escritura que almacena el dato mientras que éste espera ser escrito en la memoria principal. Una vez escrito el dato en la cache y en el buffer, el procesador puede seguir la ejecución desentendiéndose de la relación entre el buffer y la memoria principal.
El buffer de escritura tiene un número fijo de palabras que suele oscilar entre 1 y 10. Si el buffer está lleno, cuando se realiza una escritura desde el procesador éste debe detenerse hasta que haya una posición vacía. Lógicamente si la frecuencia a que la memoria principal completa escrituras es inferior a la que las genera el procesador el buffer no sirve de nada.